    /***
     * @description axios封装
     * @file request.ts
     * @author andy
     * @date 2024/3/22 16:40
     */
// file:request.ts
// 1、引入axios库
import axios from 'axios';
import router from '@/router/index'

// 2、创建axios实例
const service = axios.create({
    baseURL: 'http://127.0.0.1:10010/',  // api的base_url
    timeout: 150000  // 请求超时时间
})



// 3、请求拦截器
service.interceptors.request.use(
    async config => {
        console.log("request url=" + config.url);
        // 每次发送请求之前判断vuex中是否存在token        
        // 如果存在，则统一在http请求的header都加上token，这样后台根据token判断你的登录情况
        // 即使本地存在token，也有可能token是过期的，所以在响应拦截器中要对返回状态进行判断 
        config.headers.token = window.sessionStorage.getItem('token');
        return config;
    },
    error => {
        return Promise.reject(error);
    }
)

// 4、响应拦截器
service.interceptors.response.use(
    response => {
        if (response.status === 200) {
            return Promise.resolve(response); //进行中        
        } else {
            return Promise.reject(response); //失败       
        }
    },
    // 服务器状态码不是200的情况    
    error => {
        if (error.response.status) {
            switch (error.response.status) {
               
                case 401:
					// 401: 未登录                

                    break          
                default:
            }
            return Promise.reject(error.response);
        }
    }
);

// 5、导出服务
export default service